package ic.ast;

/**
 * Abstract base class for expression AST nodes.
 * 
 */
public abstract class Expression extends Node {

	private Type _extra_type_info;

	/**
	 * Constructs a new expression node. Used by subclasses.
	 * 
	 * @param line
	 *            Line number of expression.
	 */
	protected Expression(int line) {
		super(line);
	}

	public Type getExtraTypeInformation() {
		return _extra_type_info;
	}

	public void setExtraTypeInformation(Type val) {
		_extra_type_info = val; // IMPORTANT: IS SET ONLY IN BINARY OPS AND
								// VIRTUAL/STATIC CALLS IN TYPE
								// CHECKER!
	}
}
